package com.kgc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest
{
    
    private static final String SUCCESS = "success";
    
    /*
     * 1.@RequestMapping 除了修饰方法，还能能修饰类 2. 1）类定义处：提供初步的的请求映射信息，相对于WEB应用根目录
     * 2）方法处：提供进一步西风的映射信息，相对于类定义处的URL，若类定义出未标注@RequestMapping， 则方法处标记的URL相对于WEB应用的根目录
     */
    @RequestMapping("/testRequestMapping")
    public String testRequestMapping()
    {
        System.out.println("testRequestMapping");
        return SUCCESS;
    }
    
    /*
     * 使用method属性来指定请求方式
     */
    @RequestMapping(value = "/testMethod", method = RequestMethod.POST)
    public String testMethod()
    {
        System.out.println("Test Method");
        return SUCCESS;
    }
    
    /*
     * 了解：可以使用params属性和headers属性来更加精确的映射要求，params和headers支持简单的表达式 ，ant格式的通配符
     */
    @RequestMapping(value = "testParamsAndHeaders", params = {"username", "age!=10"}, headers = {})
    public String testParamsAndHeaders()
    {
        System.out.println("testParamsAndHeaders");
        return SUCCESS;
    }
}
